package org.devgframwork.rabbitmq;

import org.devgframwork.rabbitmq.connection.AbstractConnectionFactory;
import org.springframework.boot.context.properties.ConfigurationProperties;

@ConfigurationProperties(prefix = "devg.rabbitmq")
public class DevgRabbitProperties {

    private String rabbitHost;

    private Integer rabbitPort;

    private String rabbitUsername;

    private String rabbitPassword;

    private String rabbitVirtualHost;

    private Integer rabbitThreadPoolSize;

    private Boolean rabbitAutomaticRecoveryEnabled;

    private Integer rabbitNetworkRecoveryInterval;

    private Integer rabbitRequestedHeartbeat;

    private Integer rabbitConnectionTimeout;

    private Integer rabbitHandshakeTimeout;

    private Integer rabbitMaxChannelSize;

    private String basePackage;

    private AbstractConnectionFactory.ConnectionFactoryType connectionFactoryType;

    public String getRabbitHost() {
        return rabbitHost;
    }

    public void setRabbitHost(String rabbitHost) {
        this.rabbitHost = rabbitHost;
    }

    public Integer getRabbitPort() {
        return rabbitPort;
    }

    public void setRabbitPort(Integer rabbitPort) {
        this.rabbitPort = rabbitPort;
    }

    public String getRabbitUsername() {
        return rabbitUsername;
    }

    public void setRabbitUsername(String rabbitUsername) {
        this.rabbitUsername = rabbitUsername;
    }

    public String getRabbitPassword() {
        return rabbitPassword;
    }

    public void setRabbitPassword(String rabbitPassword) {
        this.rabbitPassword = rabbitPassword;
    }

    public String getRabbitVirtualHost() {
        return rabbitVirtualHost;
    }

    public void setRabbitVirtualHost(String rabbitVirtualHost) {
        this.rabbitVirtualHost = rabbitVirtualHost;
    }

    public Integer getRabbitThreadPoolSize() {
        return rabbitThreadPoolSize;
    }

    public void setRabbitThreadPoolSize(Integer rabbitThreadPoolSize) {
        this.rabbitThreadPoolSize = rabbitThreadPoolSize;
    }

    public Boolean getRabbitAutomaticRecoveryEnabled() {
        return rabbitAutomaticRecoveryEnabled;
    }

    public void setRabbitAutomaticRecoveryEnabled(Boolean rabbitAutomaticRecoveryEnabled) {
        this.rabbitAutomaticRecoveryEnabled = rabbitAutomaticRecoveryEnabled;
    }

    public Integer getRabbitNetworkRecoveryInterval() {
        return rabbitNetworkRecoveryInterval;
    }

    public void setRabbitNetworkRecoveryInterval(Integer rabbitNetworkRecoveryInterval) {
        this.rabbitNetworkRecoveryInterval = rabbitNetworkRecoveryInterval;
    }

    public Integer getRabbitRequestedHeartbeat() {
        return rabbitRequestedHeartbeat;
    }

    public void setRabbitRequestedHeartbeat(Integer rabbitRequestedHeartbeat) {
        this.rabbitRequestedHeartbeat = rabbitRequestedHeartbeat;
    }

    public Integer getRabbitConnectionTimeout() {
        return rabbitConnectionTimeout;
    }

    public void setRabbitConnectionTimeout(Integer rabbitConnectionTimeout) {
        this.rabbitConnectionTimeout = rabbitConnectionTimeout;
    }

    public Integer getRabbitHandshakeTimeout() {
        return rabbitHandshakeTimeout;
    }

    public void setRabbitHandshakeTimeout(Integer rabbitHandshakeTimeout) {
        this.rabbitHandshakeTimeout = rabbitHandshakeTimeout;
    }

    public Integer getRabbitMaxChannelSize() {
        return rabbitMaxChannelSize;
    }

    public void setRabbitMaxChannelSize(Integer rabbitMaxChannelSize) {
        this.rabbitMaxChannelSize = rabbitMaxChannelSize;
    }

    public String getBasePackage() {
        return basePackage;
    }

    public void setBasePackage(String basePackage) {
        this.basePackage = basePackage;
    }

    public AbstractConnectionFactory.ConnectionFactoryType getConnectionFactoryType() {
        return connectionFactoryType;
    }

    public void setConnectionFactoryType(AbstractConnectionFactory.ConnectionFactoryType connectionFactoryType) {
        this.connectionFactoryType = connectionFactoryType;
    }
}
